2011年11月08日
川俣晶の縁側ソフトウェア技術雑記 total 4613 count

WP7:Bing Mapsのキー抜きで現在位置を地図で見る

Written By: 川俣 晶連絡先

 WP7に含まれるBing MapsのコントロールはBing Mapsのキーを要求します。ところが、このキーは通常のアカウントでは1つしか作れません。1アプリに1キーとすれば、試作品1つで終わってしまいます。

 ただ単に現在位置を表示する程度の使い方で、1キーを消費するのも馬鹿馬鹿しいと思って調べてみると、単に現在位置の表示程度ならキー抜きで書けることが分かりました。

サンプルソース §

System.Deviceの参照追加

using Microsoft.Phone.Tasks;を先頭に追加

using System.Device.Location;を先頭に追加

private void button1_Click(object sender, RoutedEventArgs e)

{

    GeoCoordinateWatcher watcher = new GeoCoordinateWatcher();

    watcher.PositionChanged += new EventHandler<GeoPositionChangedEventArgs<GeoCoordinate>>((sender2,e2) =>

    {

        watcher.Stop();

        BingMapsTask bingMapsTask = new BingMapsTask();

        bingMapsTask.Center = e2.Position.Location;

        bingMapsTask.ZoomLevel = 18;

        bingMapsTask.Show();

    });

    watcher.Start();

}

ポイント §

 Bing Maps APIを使用する時には、キーが要求されます。Bing Mapsコントロールを使用する場合も例外ではありません。しかし、BingMapsTask経由で地図アプリを起動する場合はAPIを叩いているのは地図アプリであって自作アプリでは無いからキーは地図アプリが持つキーが使用されているはずです。つまり、自作アプリ側でキーを持つ必要がありません。

注意 §

 別アプリを起動しているわけで、地図が見えている間は自分自身は止まってしまいます。復活するにはBACKボタンで戻ってもらう必要があります。